package com.sgb.goods.entity;

/**
 * 订单通知
 * @author cyj
 */
public class OrderNoticeEntity {

    /** 业务号(合同：合同no;支付：业务支付号;物流：物流id) */
    public String businessId;
    /** 订单号 */
    public String orderId;
    /** 0 正常;其他表示删除 */
    public int state;
    /** 提示语类型(101：待采购方签署,102：待销售商签署,103：合同被采购商驳回,104：合同被销售商驳回201：支付刚进入待付款（进入资金中心），
     * 采购商并没付钱,202：支付审批被拒绝,203：采购商把钱付了（有新的收款信息）301：有需要收货的物流,302：当物流进入已收货状态) */
    public String type;
    /** 扩展字段 */
    public Extra extra;

    /**
     * 获取状态字符串
     * @param paymentMethod    付款方式 0 网银支付 1 银行卡转账
     * @return
     */
    public String getStateString(int paymentMethod) {
        if(null == type) {
            // 不展示代办信息
            return "";
        }
        switch (type) {
            case "101":
            case "102":
                return "您有待签署的合同信息，请点击查看";
            case "103":
            case "104":
                return "您有被驳回的合同信息，请点击查看";
            case "201":
                return "您有待付款的支付信息，请点击查看";
            case "202":
                return "您有审批未通过的支付申请，请点击查看";
            case "203":
                return 0 == paymentMethod ? "您有新的收款信息，请点击查看" : "您有待确认的收款信息，请点击查看";
            case "301":
                return "您有待收货的物流信息，请点击查看";
            case "302":
                return "买家已确认收货，请点击查看";
            default:
                // 不展示代办信息
                return "";
        }
    }

    /**
     * 扩展字段
     */
    public static class Extra {

        /** 合同id */
        public String contractId;
        /** 合同编号 */
        public String contractNo;
    }
}
